package com.byxy.service.impl;

import com.byxy.dao.AdminRuleDao;
import com.byxy.model.AdminRule;
import com.byxy.service.AdminRuleTagService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.transaction.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/*
    主要存放与页面有关的服务
    返回Map类型主要是为了和表单标签匹配
    因为数据库存的都是1,2,3,4,5这样的数字, 对用户不友好, 要转化为中文
    当Map的键能够匹配上, 便能显示Map的值
 */

@Service
@Transactional
public class AdminRuleTagServiceImpl implements AdminRuleTagService {
    @Autowired
    private AdminRuleDao adminRuleDao;

    /*
        这里由于只有三行数据, 而且基本上不会改动, 所以就不从数据库获取了
    */
    @Override
    public Map<Integer, String> listLevel() {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "目录");
        map.put(2, "菜单");
        map.put(3, "按钮");
        return map;
    }

    @Override
    public Map<Integer, String> listPid() {
        Map<Integer, String> map = new HashMap<>();
        map.put(null, "无");
        List<AdminRule> adminRuleList = adminRuleDao.listPid();
        for (AdminRule e : adminRuleList) {
            map.put(e.getId(), e.getTitle());
        }
        return map;
    }
}
